Use WorkManager for Android Notification Scheduling - #17
Conversation
Replaced unreliable coroutine-based scheduling in `scheduleMorningBriefing` with `WorkManager` via `WorkScheduler`. Updated `sendDailyBriefing` to accept optional weather parameters for dynamic notification content. Added overloads for `sendRainAlert`, `sendSevereWeatherAlert`, and `sendUVWarning` to align with `WeatherWorker` usage. Removed unused coroutine imports and scope. Co-authored-by: singhaditya21 <53948039+singhaditya21@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Leaving this open rather than merging, for two reasons worth recording. The Android app cannot currently be built. Everything else in this triage pass was either applied to |
This change replaces the unreliable
CoroutineScope.launchbased scheduling for daily morning briefings with Android'sWorkManager(specifically leveraging the existingWorkSchedulerandDailySummaryWorker).Key changes:
NotificationService.kt:scheduleMorningBriefingimplementation to callWorkScheduler.scheduleDailySummary.sendDailyBriefingto support dynamic content (summary, temperatures, precipitation chance) passed from the worker.sendRainAlert,sendSevereWeatherAlert,sendUVWarning) to match the signatures used byWeatherWorkerandDailySummaryWorker, ensuring type safety and correct behavior.This ensures notifications are reliably scheduled even if the app is killed or the device restarts (handled by
WorkManagerandBootReceiverwhich presumably reschedules work).PR created automatically by Jules for task 3912692864281811005 started by @singhaditya21